package com.zhou.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * <p>
 * 题目分类表
 * </p>
 *
 * @author admin
 * @since 2023-03-02
 */


@Data

//这个@TableName注解非常的重要，否则你测试的时候一定失败（我在这边卡了一个多小时）应为表格名带有“_”，
// 我反正用@Table不行
@TableName(value = "ques_category")

  @EqualsAndHashCode(callSuper = false)
    public class QuesCategory implements Serializable {

    private static final long serialVersionUID=1L;

    //将属性对应的字段指定为主键
    //@TableId注解的value属性用于指定主键的字段
    //@TableId注解的type属性用于生成数据主键id
      @TableId(value = "category_id", type = IdType.AUTO)
      private Integer categoryId;

      /**
     * 类别名称
     */
      private String categoryName;

      /**
     * 所属题库id
     */
      private Integer repoId;

      /**
     * 创建时间
     */
      @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
      @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")

  //制定属性所对应的字段名称,下面是name，指定为"user_name"
  //      @TableField("user_name")
//      private name;
        @TableField(fill = FieldFill.INSERT)
      private LocalDateTime createTime;

      /**
     * 修改时间
     */
        @TableField(fill = FieldFill.INSERT_UPDATE)
      private LocalDateTime updateTime;

//        逻辑删除字段
//        @TableLogic
//        private Integer isDeleted;
}
